Hyperstrictness and the Parallel Evaluation of Lazy Functional Programs

نویسنده

  • Sava Mintchev
چکیده

Strictness analysis can be used for automatic parallelization of lazy functional programs while preserving their semantics (and termination properties, in particular). This paper considers ways of exploiting strictness analysis in implementing functional languages eeciently on stock parallel hardware. A strictness{based parallel evaluation model is presented, and is compared with the more general evaluation transformer model of Burn 91b, Burn 91a]. A diierent treatment of higher{order functions is discussed, and its potential beneets for controlling the granularity of parallelism are shown. Results produced by a simulated parallel implementation of the evaluation model are included.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hardware-Assisted and Target-Directed Evaluation of Functional Programs

A new reduction machine for lazy functional languages called the Reduceron is proposed. The Reduceron exploits wide, parallel memories to increase evaluation speed, and is prototyped in programmable hardware. It is compared with conventional machines by a theoretical analysis and by an experimental comparison. It is shown that the use of wide, parallel memories in a graph reduction machine can ...

متن کامل

Mechanized Reasoning about Concurrent Functional Programs

Various mechanisms have been used for adapting functional languages to parallel machines, ranging from semantics{preserving annotations to concurrent language extensions. Concurrent extensions are applicable to both lazy and strict languages, and give the programmer full control over parallel evaluation; however, they complicate the proofs of program correct-ness. This paper pursues the concurr...

متن کامل

Path Semantics

Knowledge of order of evaluation of expressions is useful for compile-time optimizations for lazy sequential functional programs. We present path semantics, a non-standard semantics that describes order of evaluation for a first-order functional language with lazy evaluation. We also provide an effective abstraction of path semantics that provides compile-time information. We show how path sema...

متن کامل

Implementing the Evaluation Transformer Model of Reduction on Parallel Machines

The evaluation transformer model of reduction generalises lazy evaluation in two ways: it can start the evaluation of expressions before their rst use, and it can evaluate expressions further than weak head normal form. Moreover, the amount of evaluation required of an argument to a function may depend on the amount of evaluation required of the function application. It is a suitable candidate ...

متن کامل

The Impact of Laziness on Parallelism and the Limits of StrictnessAnalysisG

The major question examined by this paper is whether suucient ne-grain parallelism can be obtained from programs written in a lazy functional language. To answer this question, we have implemented a prototype compiler based on a novel approach to strictness analysis (called abstract demand propagation) and we have compared this implementation strategy (optimized lazy) with other implementations...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993